import Vue from "vue";
import VueRouter from "vue-router";
import Home from "../views/Home.vue";
import Login from "@/views/Login.vue";
import Welcome from "@/components/Welcome.vue";
import User from "@/components/User.vue";
import Rights from "@/components/Rights.vue";
import Roles from "@/components/Roles.vue";
Vue.use(VueRouter);

const routes = [
  {
    path: "/",
    redirect: "/login",
  },
  // {
  //   path: "/home",
  //   name: "Home",
  //   component: Home,
  //   children: [
  //     { path: "/", redirect: "welcome" },
  //     { path: "welcome", component: Welcome },
  //     { path: "user", component: User },
  //     { path: "rights", component: Rights },
  //     { path: "roles", component: Roles },
  //     { path: "order", component: Order },
  //   ],
  // },
  {
    path: "/home",
    name: "Home",
    component: Home,
    redirect: "/welcome",
    children: [
      { path: "/welcome", component: Welcome },
      { path: "/users", component: User },
      { path: "/rights", component: Rights },
      { path: "/roles", component: Roles },
    ],
  },

  {
    path: "/login",
    name: "Login",
    component: Login,
  },
  {
    path: "/about",
    name: "About",
    // route level code-splitting
    // this generates a separate chunk (about.[hash].js) for this route
    // which is lazy-loaded when the route is visited.
    component: () =>
      import(/* webpackChunkName: "about" */ "../views/About.vue"),
  },
];

const router = new VueRouter({
  routes,
});

router.beforeEach((to, from, next) => {
  if (to.path === "/login") return next();

  const token = window.sessionStorage.getItem("token");
  if (!token) {
    return next("/login");
  }

  next();
});

export default router;
